package com.springboot.service;

import com.springboot.common.Result;
import com.springboot.entity.Users;
import com.baomidou.mybatisplus.extension.service.IService;
import com.springboot.vo.UserLoginVO;

/**
 * 用户 服务类接口
 *
 * @author zjb
 * @since 2025-09-09 14:15
 */
public interface IUsersService extends IService<Users> {

    /**
     * 用户登录
     * @param userLoginVO 登录信息
     * @return 登录结果
     */
    Result login(UserLoginVO userLoginVO);

    /**
     * 用户注册
     * @param users 用户信息
     * @return 注册结果
     */
    Result register(Users users);

    /**
     * 查询所有用户（支持分页和条件查询）
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @param gender 性别筛选条件
     * @param search 搜索关键字
     * @return 用户列表
     */
    Result searchUsersAll(Integer pageNum,Integer pageSize,String gender,String search);

    /**
     * 更新用户信息
     * @param userId 用户ID
     * @param users 用户信息
     * @return 更新结果
     */
    Result updateUserInfo(Integer userId, Users users);

    /**
     * 更改用户状态（启用/禁用）
     * @param id 用户ID
     * @param status 状态值（1-正常，0-禁用）
     * @return 修改结果
     */
    Result changeUserStatus(Integer id,Integer status);

}